﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using Should.Fluent;

namespace Is.Test
{
    [TestClass]
    public class IsDoubleExtensionsTest
    {
        [TestMethod]
        public void Test_IsEqual()
        {
            double d = 100.0;
            d.Is().Equal(2).Should().Be.False();
            d.Is().Equal(100.0).Should().Be.True();
            d.Is().Equal(100.0, 0).Should().Be.True();
            d.Is().Equal(100.1, 0.1).Should().Be.True();
            d.Is().Equal(100.1, 0.2).Should().Be.True();
            d.Is().Equal(100.1, 0).Should().Be.False();
        }

        [TestMethod]
        public void Test_IsZero()
        {
            double d = 100.0;
            d.Is().Zero().Should().Be.False();
            d = -100.0;
            d.Is().Zero().Should().Be.False();
            d = 00.0;
            d.Is().Zero().Should().Be.True();
        }

        [TestMethod]
        public void Test_IsPositive()
        {
            double d = 100.0;
            d.Is().Positive().Should().Be.True();
            d = -100.0;
            d.Is().Positive().Should().Be.False();
        }

        [TestMethod]
        public void Test_IsNegative()
        {
            double d = 100.0;
            d.Is().Negative().Should().Be.False();
            d = -100.0;
            d.Is().Negative().Should().Be.True();
        }
    }
}
